/*
神经元管理器头文件
定义神经网络中神经元的管理和协调
支持神经元创建、连接和状态管理
*/
#ifndef NEURON_MANAGER_H
#define NEURON_MANAGER_H

#include "Neuron.h"
#include <memory>
#include <unordered_map>

class NeuronManager {
public:
    NeuronManager() {}
    NeuronManager(const NeuronManager&) = delete;
    NeuronManager& operator=(const NeuronManager&) = delete;

    static NeuronManager& getInstance();
    void addNeuron(std::shared_ptr<Neuron> neuron);
    std::shared_ptr<Neuron> getNeuronById(int id);
    void clear();
private:
    std::unordered_map<int, std::shared_ptr<Neuron> > neurons;
};

#endif // NEURON_MANAGER_H